package cn.tedu.charging.common.pojo;

import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

/**
 * 统一返回结果
 */
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class JsonResult<T> {

    /**
     * 状态码
     */
    Integer code;

    /**
     * 提示信息
     */
    String message;


    /**
     * 返回数据 接口出参的具体的数据
     * type 的首字母 t T 表示泛型 任意类型
     */
    T data;

    /**
     * 封装公共成功的方法 复用
     * @param data
     * @param message
     * @return
     * @param <T>
     */
    public static <T> JsonResult<T> ok(T data,String message) {
        JsonResult<T> result = new JsonResult<>();
        result.setCode(2000);//2000表示成功
        result.setMessage(message);
        result.setData(data);
        return result;
    }
}